МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ
НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ “ЛЬВІВСЬКА ПОЛІТЕХНІКА”
Кафедра САПР
Звіт про виконання лабораторної роботи №10
на тему: “ПРОГРАМУВАННЯ ВИВОДУ ІНФОРМАЦІЇ НА ЕКРАН НА ЕОМ З МІКРОПРОЦЕСОРОМ Intel 8086(80286)”
з курсу: “ Комп’ютери та мікропроцесорні системи ”
Виконав
студент групи КН-3
Львів - 2006
МЕТА РОБОТИ
Вивчити основні можливості керування екраном в текстовому та графічному режимах.
КОРОТКІ ТЕОРЕТИЧНІ ВІДОМОСТІ
Однією з основних складових будь-якого персонального компьютера є монітор. Усі дисплеї можна розділити на монохромні та кольорові (графічні).
Для роботи монохромного монітора задіяно 4 кбайти оперативної пам`яті, яка розміщена з адреси В0000Н. Дану область пам`яті називають дисплейним буфером. Два кбайти з 4-х використано для збереження кодів символів (25 стрічок по 80 позицій в кожній) і 2 кбайти для байтів-атрибутів, які забезпечують підкреслення, виділення яскравістю, інвертування та мигання.
Для роботи стандартного кольорового графічного монітора використано 16 кбайт пам`яті, яка починається з адреси В8000. Такий дисплей може працювати в кольоровому чи чорно-білому режимі. Дисплейний буфер забезпечує екранні сторінки (0-3) для екрана на 80 стовпчиків та 8 сторінок (0-7) для екрана на 40 стовпчиків. Байт-атрибут містить таку інформацію для символа, який відображається на дисплеї:
Фон Текст
Атрибут: BL R G B I R G B
Номер бітів: 7 6 5 4 3 2 1 0
де R, G, B - бітові позиції, які керують відповідно червоним, зеленим та синім променем в кольоровому моніторі. Біт 7 (BL) - встановлює мигання, а біт 3 (І) - інтенсивність світіння. Дана структура байта-атрибута справедлива для монограмного та графічного дисплея в текстовому режимі.
Усі екранні операції виконуються за допомогою команди переривання INT 10H, яка передає керування BIOS.
При використанні цього переривання в регістр АН заноситься код, який визначає функцію переривання.
АН=00: Встановлення режиму. Вміст регістра AL може бути таким:
00 - 40х25 чорно-білий текстовий режим;
01 - 40х25 стандартний 16-кольоровий текстовий режим;
02 - 80х25 чорно-білий текстовий режим;
03 - 80х25 стандартний 16-кольоровий текстовий режим;
04 - 320х200 стандартний 4-кольоровий графічний режим;
05 - 320х200 чорно-білий графічний режим;
06 - 640х200 чорно-білий графічний режим;
07 - 80х25 чорно-білий стандартний монохромний;
0D - 320х200 16-кольоровий графічний режим (EGA);
0E - 640х200 16-кольоровий графічний режим (EGA);
0F - 640х350 чорно-білий графічний режим (EGA);
10 - 640х350 64-кольоровий графічний режим (EGA);
Наступний приклад встановлює чорно-білий стандартний монохромний режим 80х25:
MOV AH, 00
MOV AL, 07
INT 10H
АН=01: Встановлення розміру курсора. Біти 4-0 в регістрі СН визначають розмір у вертикальному напрямку, а біти 4-0 у регістрі CL - для горизонтального напрямку. Можна встановити будь-який розмір курсора по вертикалі: від 0 до 14 для монохромних та від 0 до 7 для більшості кольорових моніторів.
АН=02: Встановлення позиції курсора. Ця функція встановлює курсор на екрані у відповідності з координатами стрічки та стовпчика. В регістр ВН - номер сторінки (0-3) DH - стрічка, DL - стовпчик.
Наведемо приклад:
MOV AH, 02
MOV BH, 01
MOV DH, 10
MOV DL, 10
INT 10H
AH=03: Читання теперішнього місця знаходження курсора. Функція повертає в DH - номер стрічки, а в DL - номер стовпчика. (Виконуючи цю функцію, необхідно в регістр ВН занести номер сторінки.)
АН=04: Читання місцезнаходження світлового пера.
АН=05: Вибір активної сторінки.
Приклад:
MOV AH, 05
MOV AL, сторінка
INT 10H
АН=06: Прокрутка екрана вверх. В регістр AL заносять кількість стрічок, ВН - атрибут, DX - координати. Подальші команди виконують прокрутку всього екрана на одну стрічку вверх:
MOV AH, 06 02 H
MOV BH, 07
MOV CX, 0000
MOV DX,184FH
INT 10H
AH=07: Прокрутка екрана вниз.
АН=08: Читання атрибута/символа в біжучій позиції к...